Automatic Synthesis of Fault-tolerance
نویسنده
چکیده
AUTOMATIC SYNTHESIS OF FAULT-TOLERANCE By Ali Ebnenasir Fault-tolerance is an important property of today’s software systems as we rely on computers in our daily affairs (e.g., medical equipments, transportation systems, etc). Since it is difficult (if not impossible) to anticipate all classes of faults that perturb a program while designing that program, it is desirable to incrementally add fault-tolerance concerns to an existing program as we encounter new classes of faults. Hence, in this dissertation, we concentrate on automatic addition of fault-tolerance to (distributed) programs; i.e., synthesizing fault-tolerant programs from their faultintolerant version. Such automated synthesis generates a fault-tolerant program that is correct by construction, thereby alleviating the need for its proof of correctness. Also, there exists a potential for reusing the computations of the fault-intolerant program during the synthesis of its fault-tolerant version. In the absence of faults, the synthesized fault-tolerant program should behave similar to the fault-intolerant program. In the presence of faults, the synthesized fault-tolerant program has to provide a desired level of fault-tolerance, namely failsafe, nonmasking, or masking fault-tolerance. A failsafe fault-tolerant program guarantees safety even in the presence of faults. In the presence of faults, a nonmasking faulttolerant program recovers to states from where its safety and liveness specifications are satisfied. A masking fault-tolerant program always satisfies safety and recovers to states from where its safety and liveness specifications are satisfied. To provide a foundation for automatic synthesis of fault-tolerant programs, we concentrate on two directions: theoretical aspects, and the development of a software framework for the synthesis of fault-tolerant programs. The main contributions of the dissertation regarding theoretical aspects are as follows: • We identify the effect of safety specification modeling on the complexity of synthesizing fault-tolerant programs from their fault-intolerant version. • We show the NP-completeness proof of synthesizing failsafe fault-tolerant distributed programs from their fault-intolerant version. • We identify the sufficient conditions for polynomial-time synthesis of failsafe fault-tolerant distributed programs. • We design a sound and complete synthesis algorithm for enhancing the faulttolerance of high atomicity programs – where program processes can atomically read/write all program variables – from nonmasking to masking. • We present a sound algorithm for enhancing the fault-tolerance of distributed programs – where program processes have read/write restriction with respect to program variables. • We present a synthesis method for providing reuse in the synthesis of different programs where we automatically specify and add pre-synthesized faulttolerance components to programs. • We define and address the problem of synthesizing multitolerant programs that are subject to multiple classes of faults and provide (possibly) different levels of fault-tolerance corresponding to each fault-class. To validate our theoretical results, we develop an extensible software framework, called Fault-Tolerance Synthesizer (FTSyn), where developers of fault-tolerance can interactively synthesize fault-tolerant programs. Also, FTSyn provides a platform for developers of heuristics to extend FTSyn by integrating their heuristics for the addition of fault-tolerance in FTSyn. Using FTSyn, we have synthesized several fault-tolerant distributed programs that demonstrate the applicability of FTSyn for the cases where we have different types of faults, and for the cases where a program is subject to multiple simultaneous faults. c © Copyright by Ali Ebnenasir 2005 To my parents and my wife for all their love and sacrifices.
منابع مشابه
Polynomial Time Synthesis of Byzantine Agreement
We present a polynomial time algorithm for automatic synthesis of fault-tolerant distributed programs starting from fault-intolerant versions of those programs. Since this synthesis problem is known to be NP-hard, our algorithm relies on heuristics to reduce the complexity. We demonstrate that our algorithm suffices to synthesize an agreement program that tolerates a byzantine fault.
متن کاملAdding Fault-Tolerance Using Pre-synthesized Components
We present a hybrid synthesis method for automatic addition of fault-tolerance to distributed programs. In particular, we automatically specify and add pre-synthesized fault-tolerance components to programs in the cases where existing heuristics fail to add fault-tolerance. Such addition of pre-synthesized components has the advantage of reusing pre-synthesized fault-tolerance components in the...
متن کاملHierarchical Presynthesized Components for Automatic Addition of Fault-Tolerance: A Case Study
We present a case study of automatic addition of faulttolerance to distributed programs using presynthesized distributed components. Specifically, we extend the scope of automatic addition of fault-tolerance using presynthesized components to the case where we automatically add hierarchical components to fault-intolerant programs, whereas in our previous work, we have shown the addition of line...
متن کاملMechanical Verification of Automatic Synthesis of Fault-Tolerant Programs
Fault-tolerance is a crucial property in many systems. Thus, mechanical verification of algorithms associated with synthesis of faulttolerant programs is desirable to ensure their correctness. In this paper, we present the mechanized verification of algorithms that automate the addition of fault-tolerance to a given fault-intolerant program using the PVS theorem prover. By this verification, no...
متن کاملAutomatic Generation of Fault Tolerant VHDL Designs in RTL
Fault Tolerance (F-T) is an important issue in electronic devices. Detecting and even correcting internal faults during normal operation makes possible the usage of these circuits in critical applications. F-T has been taken into account for many years during design process of these applications, but it has not obtained any profit of latest advances in automatic CAD tools that optimise the desi...
متن کامل